import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table';
import { rules } from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
import { defHttp } from '/@/utils/http/axios';
enum Api {
  modelListByProductId = '/dictCommon/getModelListByProductId',
}
export const getModelListByProductId = (params) => defHttp.get({ url: '/dictCommon/getModelListByProductId', params }, { isTransformResponse: false });


export const columns : BasicColumn[] = [

  {
    title: '设备编号',
    dataIndex: 'deviceNo'
  },
  {
    title: '设备名称',
    dataIndex: 'deviceName'
  },
  {
    title: '模型名称',
    dataIndex: 'modelName'
  },
  {
    title: '模型数值',
    dataIndex: 'modelVal'
  },
  {
    title: '模型单位',
    dataIndex: 'modelUnit'
  },
  {
    title: '创建时间',
    dataIndex: 'createTime'
  },
];


export const searchFormSchema : FormSchema[] = [
  // {
  //   label: '产品名称',
  //   field: 'productId',
  //   component: 'ApiSelect',
  //   componentProps: ({ formModel }) => {
  //     return {
  //       api: () => defHttp.get({ url: '/device/productInfo/list' }),
  //       //数值转成String
  //       numberToString: false,
  //       //标题字段
  //       labelField: 'productName',
  //       //值字段
  //       valueField: 'productId',
  //       //请求参数
  //       params: {},
  //       //返回结果字段
  //       resultField: 'records',
  //       onChange: (val, option) => {
  //         if (val) {
  //           if (formModel.hasOwnProperty('modelId')) {
  //             formModel.modelId = '';
  //           }
  //         }
  //       },
  //       onDeselect: () => {
  //         formModel.productId = '';
  //         if (formModel.hasOwnProperty('modelId')) {
  //           formModel.modelId = '';
  //         }
  //       },
  //     };
  //   },
  // },
  // {
  //   label: '模型名称',
  //   field: 'modelId',
  //   component: 'ApiSelect',
  //   componentProps: ({ formModel }) => {
  //     return {
  //       api: getModelListByProductId,
  //       //数值转成String
  //       numberToString: false,
  //       //标题字段
  //       labelField: 'modelName',
  //       //值字段
  //       valueField: 'modelId',
  //       params: {
  //         productId: formModel.productId,
  //       },
  //       //返回结果字段
  //       resultField: 'result',

  //     };
  //   },
  //   ifShow: ({ values }) => {
  //     console.log('values=======', values)
  //     return values.productId;
  //   },
  // },
  {
    label: '设备编号',
    field: 'deviceNo',
    component: 'Input'
  },
  {
    label: '时间范围',
    field: 'createTime',
    // slot: 'createTime',
    component: 'RangePicker',
    componentProps: {
      //是否显示时间
      showTime: true,
      valueType: 'Date',
    },
    colProps: {
      span: 8,
    },
  }
];



// function updateSecondConditionOptions(value) {
//   // 这里根据第一个条件的值来获取第二个条件的选项
//   const options = getSecondConditionOptionsByFirstCondition(value);
//   // 更新第二个条件的选项
//   form.updateSchema({
//     field: 'modelId',
//     componentProps: { options },
//   });
// }

// // 模拟根据第一个条件获取第二个条件的选项
// function getSecondConditionOptionsByFirstCondition(value) {
//  const listQuery = {
//    productId: value
//  };
//  getModelListByProductId(listQuery).then((res) => {
//    if (res.success) {
//     console.log(res)
//    }
//  });
//   return [];
// }



export const formSchema : FormSchema[] = [
  // TODO 主键隐藏字段，目前写死为ID
  { label: '', field: 'id', component: 'Input', show: false },
  {
    label: '数据ID',
    field: 'dataId',
    component: 'InputNumber',
  },
  {
    label: '设备编号',
    field: 'deviceNo',
    component: 'Input',
  },
  {
    label: '物模型字段',
    field: 'modelField',
    component: 'Input',
  },
  {
    label: '物模型数值',
    field: 'modelVal',
    component: 'Input',
  },
  {
    label: '组织机构编号',
    field: 'sysOrgCode',
    component: 'Input',
  },
  {
    label: '删除标识',
    field: 'delFlag',
    component: 'Input',
  },
];
